Integrated circuits are widely used in many electronic and other applications. An integrated circuit typically comprises many interconnected semiconductor devices, such as transistors, that are formed on a semiconductor wafer by depositing various types of materials on the semiconductor wafer, and patterning the thin films of material to form the devices and their connections. The design of an integrated circuit may include determining its functionality, schematics, modeling, material selection, and layout.
After an integrated circuit has been designed, design verification may be performed to determine whether the circuit design meets its specifications and performs as intended. The design verification phase may utilize the information available from any stage of the design process. For example, design verification may extract information from a graphic data system (GDS) database, from a planar netlist, or from higher level descriptions of the design that are generated during the design process. For example, design verification may involve extracting circuit information from a GDS database and generating a netlist based on the extracted information. This netlist may be compared to the original netlist generated by the design process. Generally, design verification is performed on a chip for which substantial relevant information about the design generally is available and known from the design process.
In contrast to the design and verification of an integrated circuit, the reverse engineering of an integrated circuit generally involves analyzing an existing physical chip to determine one or more otherwise unknown aspects of the integrated circuit, such as its materials, layout, schematics, and functionality. Generally, to reconstruct the circuitry of a chip, the individual layers are opened up and displayed with suitable image-rendering processes. The components and their connections are then analyzed, generally with software support. The results of this analysis are stored in a netlist format (e.g., PSPICE), which generally is the starting point for further steps in the reverse engineering analysis, such as determining the integrated circuit's schematics and functionality.
Reverse engineering may be useful, for example, to determine the structures, processes, materials, and designs used by a competitor in manufacturing its integrated circuits. Furthermore, the information obtained from reverse engineering may be used by another entity to determine whether an integrated circuit potentially infringes one or more patents owned by the entity or a third party. Reverse engineering and patent infringement analysis, however, generally are very complex tasks that can take significant time and incur large costs. One factor that increases the complexity of the reverse engineering task is that detailed information about the integrated circuit is determined primarily from the physical chip, without access to the information generated by the design process. Thus, what are needed in the art are cost-effective systems and methods for determining different aspects or properties of an integrated circuit, such as its layout, netlists, schematics, and functionality, from the physical integrated circuit itself.